/**
 * 角色信息实体类
 */
export default interface RoleInfo {
    /**
     * 主键
     */
    id: string
    /**
     * 状态
     */
    status: string
    /**
     * 角色编码
     */
    code: string
    /**
     * 创建者
     */
    createBy: string
    /**
     * 创建时间
     */
    createTime: string
    /**
     * 是否启用
     */
    enabled: RoleEnabled
    /**
     * 机构编号
     */
    instituId: string
    /**
     * 角色名称
     */
    name: string
    /**
     * 说明
     */
    remark: string
    /**
     * 更新者
     */
    updateBy: string
    /**
     * 更新时间
     */
    updateTime: string
    /**
     * 绑定的角色模板
     */
    modelId: string
    /**
     * 角色类型
     */
    isCustom?: RoleType

    modelType?: ModelType
    /**
     * 扩展字段
     */
    [k: string]: any
}

/**
 * 角色状态(是否启用)
 */
export enum RoleEnabled {
    TRUE = '0',
    FALSE = '1'
}

export const RoleEnabledType = {
    [RoleEnabled.TRUE]: '启用',
    [RoleEnabled.FALSE]: '停用'
}

/**
 * 角色类型
 */
export enum RoleType {
    CUSTOM = '0',
    PUBLIC = '1'
}
export const RoleTypeMapping = {
    [RoleType.CUSTOM]: '自定义角色',
    [RoleType.PUBLIC]: '模板角色'
}

export enum ModelType {
    ORG = '0',
    GLOBAL = '1'
}

export const ModelTypeMapping = {
    [ModelType.ORG]: '指定机构',
    [ModelType.GLOBAL]: '全局'
}
